package com.ruoyi.web.petmall.pethome.mapper;

import com.ruoyi.web.petmall.entity.AddressEntity;
import com.ruoyi.web.petmall.entity.UserEntity;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;

/**
 * 用户信息数据访问接口
 * 提供用户及地址信息的CRUD操作。
 */
@Mapper
public interface UserInfoMapper {

    /**
     * 根据用户ID获取用户信息。
     *
     * @param userId 用户ID
     * @return 用户信息列表
     */
    List<UserEntity> getUserInfo(Long userId);

    /**
     * 更新用户信息。
     *
     * @param userEntity 包含更新信息的用户实体
     */
    void updateUserInfo(UserEntity userEntity);

    /**
     * 根据用户ID获取用户地址信息。
     *
     * @param userId 用户ID
     * @return 地址信息列表
     */
    List<AddressEntity> getUserAddress(Long userId);

    /**
     * 添加新的用户地址。
     *
     * @param addressEntity 包含地址信息的地址实体
     */
    void addUserAddress(AddressEntity addressEntity);

    /**
     * 更新现有用户地址。
     *
     * @param addressEntity 包含更新信息的地址实体
     */
    void updateUserAddress(AddressEntity addressEntity);

    /**
     * 删除指定的用户地址。
     *
     * @param id 地址ID
     */
    void delUserAddress(Long id);
}
